--设置定时器
time = os.time();

--初始化
init("0",0);

mSleep(3000);
--来电暂停
luaExitIfCall(true);

--初始化日志
initLog("自动脚本1", 0)

--点击函数
function click(n,x,y)
	mSleep(500);
	touchDown(n,x,y);  
	mSleep(50);
	touchUp(n,x,y);
	mSleep(500);
end

function timeOut()
	--如果一段时间内没有检测到，则判断为任务失败，结束脚本。
		if os.time()-time>300 then
			lua_restart();
		end
end


--清理后台     
function cleanAll()
	
	--新方法
	closeApp("*",1);
	wLog("自动脚本1", "[DATE] 清理后台");
	
end

function movettoo(n,x,y,a,b)
	-- body
	touchDown(n, x, y); --在坐标 (150, 550)按下
	mSleep(80);
	touchMove(n, a, b); --移动到坐标 (150, 600)，注意一次滑动的坐标间隔不要太大，不宜超过50像素
	mSleep(80);
	touchUp(n, a, b);   --在坐标 (150, 600) 抬起
end


--点击home键
function home()
	mSleep(500);
	--按下home键退出
	pressHomeKey(0);    --按下 Home 键
	mSleep(50);
	pressHomeKey(1);    --抬起 Home 键
	mSleep(500);
end


--颜色模糊判断
function isColor(x,y,c,s)   --封装函数，函数名 isColor
    local fl,abs = math.floor,math.abs
    s = fl(0xff*(100-s)*0.01)
    local r,g,b = fl(c/0x10000),fl(c%0x10000/0x100),fl(c%0x100)
    local rr,gg,bb = getColorRGB(x,y)
    if abs(r-rr)<s and abs(g-gg)<s and abs(b-bb)<s then
        return true
    end
end

function newPhone()
	--初始化
	init("0",0);
	mSleep(1000);
	
	--进入NZT进行手机一键新机，重复打开4遍，防止闪退，闪退率高
	r = runApp("NZT"); 
	mSleep(2000)
	r = runApp("NZT");
	mSleep(2000)
	r = runApp("NZT");
	mSleep(2000)
	r = runApp("NZT"); 
	mSleep(2000);
	if r ~= 0 then
		lua_restart();
	end
	wLog("自动脚本1","[DATE] 进入NZT软件");
	
	--点一下返回按钮
	click(1,39,82);
	mSleep(2000);

	--点击清理keychain
	click(1,161,692);
	while (true) do
		wLog("自动脚本1","[DATE] 成功点击keychain按钮进入while判断");
		--如果出现错误，点击确定
		warningAll();
		if isColor(321,545,0x434343,90) then
			mSleep(2000);
		elseif isColor(321,545,0xffffff,90) then
			break;
		end
		
		--如果一段时间内没有检测到打开按钮，则判断为任务失败，结束脚本。
		timeOut();
	end
	
	mSleep(2000);
	
	--点击清理safari
	click(1,501,689);
	while (true) do
		wLog("自动脚本1","[DATE] 成功点击safari按钮进入while判断");
		--如果出现错误，点击确定
		warningAll();
		if isColor(321,545,0x434343,90) then
			mSleep(2000);
		elseif isColor(321,545,0xffffff,90) then
			break;
		end
		
		--如果一段时间内没有检测到打开按钮，则判断为任务失败，结束脚本。
		timeOut();
	end
	
	
	mSleep(2000);
	
	--点击一键新机
	click(1,489,822);
	while (true) do
		wLog("自动脚本1","[DATE] 成功点击一键新机按钮进入while判断");
		--如果出现错误，点击确定
		warningAll();
		if isColor(321,545,0x434343,90) then
			mSleep(2000);
		elseif isColor(321,545,0xffffff,90) then
			break;
		end
		
		--如果一段时间内没有检测到打开按钮，则判断为任务失败，结束脚本。
		timeOut();
	end
	
	mSleep(2000);
	home();
end


----iOS9版本newVPN（）
--function newVpn()
--	--初始化
--	init("0",0);
--	home();
--	mSleep(2000);
	
	
----	--接下来点击"设置"按钮
--	r = runApp("com.apple.Preferences");    
--	mSleep(2000);
--	if r ~= 0 then
--		lua_restart();
--	end
	
	
--	mSleep(2000);
--	wLog("自动脚本1", "[DATE] 点击设置按钮开始更新开关vpn")
--	--判断是否是根目录
--	if isColor(20,84,0x007aff,90) then
--		--循环判断是否是根目录不是就后退
--		while (true) do
--			wLog("自动脚本1","[DATE] 这是点击设置返回按钮");
--			warningAll();
--			--点击返回按钮
--			click(1,20,84);
--			mSleep(2000);
--			--判断是否是根目录
--			if isColor(20,84,0xf7f7f7,90) then
--				break;
--			end
--		end
--		mSleep(1500);
--	end
	
--	--向下划几下，保证能检测到按钮
--	oldTime=1;
--	while (true) do
--		movettoo(1,310,307,310,480);
--		mSleep(1000);
--		oldTime=oldTime+1;
--		if oldTime>3 then
--			break;
--		end
--	end
	

--	--进去判断如果开启就关闭再开启， 如果关闭就开启
--	if isColor(538,688,0xffffff,90) then
--		click(1,580,690);
--		wLog("自动脚本1", "[DATE] 判断vpn关闭已经点击开启")
--	elseif isColor(538,688,0x4cd864,90) then
--		click(1,580,690);
--		mSleep(5000);
--		click(1,580,690);
--		wLog("自动脚本1", "[DATE] 判断vpn开启，点击关闭后，再点击开启")
--	end
	
--	mSleep(2000);
	
--	--此处为弹出警告点击确定跳过
--	warningAll();
	
--	while (true) do
--		wLog("自动脚本1", "[DATE] 进入循环判断是否开启vpn！！！！！！！！！！！！！！！！！！！！")
--		if isColor(88,11,0x080808,90) then
--			wLog("自动脚本1", "[DATE] 此时判断vpn已经开启，跳出循环,按下home键");
--			--确认vpn打开后退出
--			home();
--			break;
--		end
		
--		--超过3分钟自动重新开始
--		if os.time()-time>300 then
--			lua_restart();
--		end
		
--		--此处为弹出警告点击确定跳过
--		warningAll();
		
--		--循环等待
--		wLog("自动脚本1", "[DATE] ！！！！！！！！！！！！！！");
--		mSleep(2000);
		
--		--判断是否需要输入vpn密码
--		if isColor(382,231,0x959595,90) then
--			mSleep(500);
--			click(1,257,376);
--			mSleep(1000);
--			--输入“统一”密码
--			inputText("5");
--			mSleep(1000);
--			--点击确定
--			click(1,457,477);
--			mSleep(500);
--		end
--	end 
--end

--iOS9新版本newVPN
function newVPN()

	home();
	mSleep(1000);
	
	cleanAll();
	mSleep(1000);
	
	--第一步关闭vpn
	setVPNEnable(false);
	mSleep(3000);
	
	--在vpn图标位置取个色方便下面比较
	local color = getColor(88, 11);
	
	--第三步开启vpn
	setVPNEnable(true);
	
	--进入while循环判断是否开启
	while (true) do
		mSleep(4000);
		--此处为弹出警告点击确定跳过
		warningAll();
		
		--判断是否需要输入vpn密码
		if isColor(389,  233, 0x000000,90) then
			mSleep(500);
			click(1,257,376);
			mSleep(1000);
			--输入“统一”密码
			inputText("963");
			mSleep(1000);
			--点击确定
			click(1,457,477);
			mSleep(500);
		end
		
		--超过3分钟自动重新开始
		timeOut();
		
		--取色准备判断是否成功打开
		local colorTwo = getColor(88, 11);
		
		wLog("自动脚本1", "[DATE] 进入循环判断是否开启vpn！！！！！！！！！！！！！！！！！！！！")
		if colorTwo~=color then
			wLog("自动脚本1", "[DATE] 此时判断vpn已经开启，跳出循环,按下home键");
			--确认vpn打开后退出
			mSleep(2000);
			break;
		end
		
		--循环等待
		wLog("自动脚本1", "[DATE] ！！！！！！！！！！！！！！");
	
	end 
end


--警告跳过
function warningAll()
	if isColor(325,654,0x007aff,90) then
			wLog("自动脚本1", "[DATE] 这是警告一判断");
			mSleep(2000);
			click(1,325,654);
			mSleep(3000);
			setVPNEnable(true);
			mSleep(1000);
		elseif isColor(329,694,0x007aff,90) then
			wLog("自动脚本1", "[DATE] 这是警告二判断")
			mSleep(2000);
			click(1,329,694);
			mSleep(3000);
			setVPNEnable(true);
			mSleep(1000);
		elseif isColor(327,688,0x007aff,90) then
			wLog("自动脚本1", "[DATE] 这是警告三判断")
			mSleep(2000);
			click(1,327,688);
			mSleep(3000);
			setVPNEnable(true);
			mSleep(1000);
		elseif isColor(327,671,0x007aff,90) then
			wLog("自动脚本1", "[DATE] 这是警告四判断")
			mSleep(2000);
			click(1,327,671);
			mSleep(3000);
			setVPNEnable(true);
			mSleep(1000);
		elseif isColor(340,664,0x007aff,90) then
			wLog("自动脚本1", "[DATE] 这是警告五判断")
			mSleep(2000);
			click(1,340,664);
			mSleep(2000);
		elseif isColor(327,655,0x007aff,90) then
			--鉴定失败
			wLog("自动脚本1", "[DATE] 这是警告六判断")
			mSleep(2000);
			click(1,327,655);
			mSleep(2000);	
			setVPNEnable(true);
			mSleep(1000);
	end
end

--换IP
function changeIP()
	i = 0;
	while (true) do
		--切换ip
		openURL("http://lumtest.com/myip.json?switchproxy");
		mSleep(5000);
		i = i + 1;
		if i>3 then
			break;
		end
	end
end

function playGame()
	
	--初始化
	init("0",0);
	mSleep(1000);
	
	openURL("");
	
	mSleep(3000);
	wLog("自动脚本1","[DATE] 成功点击safari并输入网址开始");
	
	--开始循环判断是否弹出打开app商城的按钮
	while (true) do
		warningAll();
		if isColor(478,632,0x007aff,90) then
			mSleep(500);
			click(1,478,632);
			mSleep(1000);
			break;
		end
		wLog("自动脚本1","[DATE] 进入while循环判断打开app商城按钮是否出现");
		
		--超过3分钟自动重新开始
		timeOut();
	
	end
	
	mSleep(2000);
	
	--开始循环判断是否成功打开app商城并点击进入软件
	while (true) do
		
		--判断是不是出现404错误
		if isColor(10,143,0x878787,90) then
			mSleep(500);
			click(1,587,79);
			mSleep(500);
		end
		
		wLog("自动脚本1","[DATE] 这是判断进入软件按钮出现的循环");
		warningAll();
		
		--超过3分钟自动重新开始
		timeOut();
		
		vvv = isColor(519,357,0xffffff,90);
		if vvv~=true then
			wLog("自动脚本1","[DATE] 现在点击进入软件");
			--随机一个数
			Randomx = math.random(20,40);
			dialog(Randomx, 3);
			mSleep(Randomx*1000);
			click(1,563,338);
			break;
		end
		mSleep(2000);
	end
	
	--游戏开始前等待5秒进入
	mSleep(5000);
	
	--初始化为横屏模式
	init("0",1);
	mSleep(1000);
	 
	while (true) do
		
		--一键登录                 
		if isColor(521,  332, 0x04a51c,90) then
			mSleep(500);
			click(1,521,  332);
			mSleep(1500);
		end                                 
		
		--截图保存到相册 关闭
		if isColor(563,  456, 0x007aff,90) then
			mSleep(500);
			click(1,563,  456);
			mSleep(1500);
		end
		
		--公告
		if isColor(559,  504, 0x7e5146,90) then
			mSleep(500);
			click(1,559,  504);
			mSleep(1500);
		end
		
		--超过3分钟自动重新开始
		timeOut();
		
		--进入游戏
		if isColor(555,  483, 0x5e2d1f,90) then
			mSleep(500);
			click(1,555,  483);
			mSleep(1500);
		end
		
		
		--再次进入游戏
		if isColor(964,  570, 0x2e1310,90) then
			mSleep(500);
			click(1,964,  570);
			mSleep(1500);
		end
		
		--开始游戏。。
		if isColor(590,  457, 0xaf946b,90) then
			mSleep(500);
			click(1,590,  457);
			mSleep(1500);
		end
		
		--超过3分钟自动重新开始
		timeOut();
		
		--完成任务
		if isColor(176,  546, 0x7b6125,90) then
			mSleep(500);
			click(1,176,  546);
			mSleep(1500);
		end
		
		--主线任务
		if isColor(18,  161, 0xfcc900,90) then
			mSleep(500);
			click(1,18,  161);
			mSleep(1500);
		end
		
		--等级大礼包
		if isColor(560,  397, 0x928053,90) then
			mSleep(500);
			click(1,560,  397);
			mSleep(1500);
		end
		
	end
end

function main()
	mSleep(1000);
	
	newVPN();
	mSleep(3000);
	
	newPhone();
	mSleep(3000);
	
	playGame();
	
end


main();

